#ifndef SQLITEMANAGER_H
#define SQLITEMANAGER_H

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QMutex>

class SqliteManager {
public:
    static SqliteManager* getInstance(); // 单例模式
    ~SqliteManager();

    // 执行查询（返回结果集）
    QSqlQuery execQuery(const QString& sql);
    // 执行非查询（插入/更新/删除）
    bool execNonQuery(const QString& sql);
    // 事务操作
    bool beginTransaction();
    bool commitTransaction();
    bool rollbackTransaction();

private:
    SqliteManager(); // 私有构造函数
    static SqliteManager* instance;
    QSqlDatabase db;
    QMutex mutex; // 线程锁（确保并发安全）
};

#endif // SQLITEMANAGER_H
